a5c134bbfe2e7d480082d9bd70069d39cc74fce2,java/org/apache/tomcat/util/http/parser/HttpParser2.java,HttpParser2,parseAuthorizationDigest,#StringReader#,111

Before Change


            result.put(field, value);

            skipLws(input);
            if (!skipConstant(input, ",", true)) {
                return null;
            }
            skipLws(input);

After Change


        }
        while (!field.equals("")) {
            skipLws(input);
            if (skipConstant(input, "=") != SkipConstantResult.FOUND) {
                return null;
            }
            skipLws(input);
            String value = null;
            Integer type = fieldTypes.get(field.toLowerCase(Locale.US));
            if (type == null) {
                // auth-param = token "=" ( token | quoted-string )
                type = FIELD_TYPE_TOKEN_OR_QUOTED_STRING;
            }
            switch (type.intValue()) {
                case 0:
                    // FIELD_TYPE_TOKEN
                    value = readToken(input);
                    break;
                case 1:
                    // FIELD_TYPE_QUOTED_STRING
                    value = readQuotedString(input, false);
                    break;
                case 2:
                    // FIELD_TYPE_TOKEN_OR_QUOTED_STRING
                    value = readTokenOrQuotedString(input, false);
                    break;
                case 3:
                    // FIELD_TYPE_LHEX
                    value = readLhex(input);
                    break;
                case 4:
                    // FIELD_TYPE_QUOTED_LHEX
                    value = readQuotedLhex(input);
                    break;
                default:
                    // Error
                    throw new IllegalArgumentException(
                            "TODO i18n: Unsupported type");
            }

            if (value == null) {
                return null;
            }
            result.put(field, value);

            skipLws(input);
            if (skipConstant(input, ",") == SkipConstantResult.NOT_FOUND) {
                return null;
            }
            skipLws(input);